|B|HADD A MEMBER|H|B Select |BAdd a Member|B in order to add a |Bnew|B member to the user group database. You will first be prompted for the first and last name of the new member. The program will then check the database, making sure that this member is not already on file. If someone with the same name is in the database, an error message will be displayed for a few seconds, after which you will be returned to the Main Menu. If your group happens to have 2 or more members with the same first and last names, have these users include their middle initials as part of the first name field. |H|BNote:|B|H Entries are NOT case-sensitive. The program automatically converts all input to upper case when the RETURN key is pressed. This is the case with all of the text entry fields throughout the program. After entering a name, the user will then be presented with a series of screens designed to gather as much information as possible about the user's particular hardware configuration, as well as where their interests lie. This information becomes extremely important when using the |BSearch|B function, as it will allow the users to find others in the group with similar interests. After completing all of the information entry screens, the user will then be presented with a review screen, showing them everything they have entered to this point. At this time, the user should carefully check that all the information is correct. If the information is accurate, click on the |BSave|B button to permanently add this record to the database file. Clicking on the |BAbort|B button will clear all of the fields and return the user to the Main Menu. |B|HDELETE A MEMBER|H|B Select |BDelete a Member|B in order to delete a record from the database file. You will be prompted for the first and last name of the member to be deleted. The program will then verify whether the record exists. If it does, you will be asked again if you really want to delete the record. Select |BYes|B to delete the record, or |BNo|B to abort. If the record does not exist, an error message will be presented for a few seconds, after which you will be returned to the Main Menu. The verification screen also shows you the full name of the record that it intends to delete. Make sure that it is showing you the correct record before you click on |BYes|B to delete it. Once a record has been deleted, you cannot get it back! |B|HUPDATE A MEMBER'S RECORD|H|B The |BUpdate|B function allows existing member's of your group to modify the information contained in their record. Except for the person's name, every field in their record can be changed. This can be extremely useful, since it allows users to update their hardware as they purchase new items, as well as reflect any changes in their interests. After entering the name of the record to update, the user will be presented with the same series of screens that they filled out when they used the |BADD|B function, with one exception. This time the screens will contain all of the information that was in the user's record in the database. From here, any of the fields can be modified, either by deleting and re-entering text, or by clicking on the gadgets. All of the gadgets are really toggles, which can be clicked on and off at will, allowing the user to completely reconfigure his/her record. After going through all of the information entry screens, the user will again be presented with a review screen, showing them the updated information for verification. As with the ADD module, the user may then click on |BSave|B to save the updated information, or |BAbort|B to exit the Update function, leaving the old information intact. |B|HSEARCH DATABASE|H|B The |BSearch|B function is a very full-featured search facility, allowing you to search through the database records in an almost infinite variety of ways. Upon selecting the search function, you'll be presented with a screen which allows you to specify the criteria by which to do the search. In the upper left portion of the screen, you'll find text entry fields for First and Last names, City, State, Zip Code, and Phone numbers. These fields will accept any full or partial string you want to search for. By accepting partial strings, you can search for things like telephone exchanges or users whose last names begin with a certain character or group of characters. |BTIP:|B If want to restrict your search to display only those records that EXACTLY match the string you entered, append a vertical bar character "|" to the end of the string. The vertical bar character can be found on the key immediately to the left of the backspace key, shifted. For example, if you wish to search for everyone in the databse whose last name is "Smith", but you don't want to be bothered with any names such as "Smithman" or "Smithson", you would enter the data as follows: Last: SMITH| ^Note the vertical bar at the end. The right side of the search screen contains gadgets which allow you to specify various hardware and interests by which to search. These fields make it extremely easy to find someone else in the group with hardware and/or interests similar to your own. Using combinations of the text-entry and boolean fields makes it possible to initiate a very specific search, if so desired. |B|HLABELS, ADDRESSES, & REPORTS|H|B This module is where almost all of your group's normal printing routines can be found. Here you'll find a function to print mailing labels, either a single label or labels for the entire membership. You'll also find the report-printing functions here, although reports may also be printed through the Search function. There are two report-printing functions here; one for single reports and one for printing a report for every member of the group, as a batch. When writing the printing routines, I considered giving the user the option of printing the reports to either the printer or a file. It's easy enough to implement, but due to the way AmigaVision presently handles output, I decided against it. It would mean duplicating the entire report-printing subroutine, which would increase the size of the program immensely (and it's quite large already). If you decide that you'd rather have the reports go to a file instead of the printer, you'll have to load the application into AmigaVision, then go down to the "Print A Report" subroutine (at the very bottom of the flow). Expand the function by clicking once on the icon, then select "Telescope" from the Edit menu. You'll then have to double-click on EVERY output icon in the function (one at a time, of course), and click on the multi-state gadget that currently shows "To Printer" and change it to read "To File". I've already supplied a default filename, which will be created in ram: the first time it is used, but feel free to change it to anything you wish. Just remember to change ALL of them to point to the same file. By the way - there are a few output icons up in the Print Module. If you're going to change where the output goes, you'll have to change those too, since those icons print the function-specific headers for the reports. |HOne last note|H (and this is important, folks): These print routines are tailored for my machine's preferences, which are currently set to: Narrow tractor, fanfold paper, |B15 pitch|B, |B8 lines per inch|B. All of the print routines are customized for proper output spacing at these settings. This produces very small (condensed) type whose lines are very close together. If your preferences are set up differently (and they probably are), you'll probably want to make some changes to the subroutines that handle the printing. If you're preferences are set at 6 lines per inch, you'll probably want to delete a few of the "Skip a line" icons, in order for the output to be a bit more useable - especially for label-printing. I tested the functions on standard 3.5" x 15/16" labels, and since I'm only printing 3 lines on each label, I ended up having to add 5 "Skip a line" icons to the label-printing routine (for a total of 8 lines per inch). If you're set at 6 lines per inch, you'll need to remove 2 of those "Skip a line" icons. |B|HRAMBLINGS|H|B This is the first major project I've undertaken in AmigaVision, and I must admit that I've learned a great deal about how AV works, particularly with database files. What started out as a simple little database for our users group has blossomed into something that... well... I honestly think other users groups may find it useful or helpful. Either way, I'm sure someone will let me know what they think. |H;-)|H And, of course, they'll probably want to change the background screens to something more appropriate to their organization. That's fine with me. I do have one little request, though - please leave in the credits that appear at the beginning of the program. I'm quite proud of what I've done here, and I'd appreciate it if you'd let others know who wrote it. If you have any questions or suggestions, please feel free to contact me at any of the addresses mentioned below. I usually logon to the commercial services every weekend (and sometimes during the week), and I can usually be found on BerksAmiga BBS every day. I'm currently between jobs, so if you don't mind popping for the charges, give me a call at home. If I'm not there, the answering machine picks up after 4 rings, in case you want to hang up before then. USPS: Mike Koch RD#2, Box 297 Boyertown, PA 19512-9423 (215)689-4204 CompuServe: 70017,2677 PeopleLink: BERKSAMY BerksAmiga BBS: SYSOP or Mike Koch (215)372-4553